﻿namespace _56_C_中的文件夹操作类
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Directory.CreateDirectory(@"D:\个人学习\test-study");//创建路径
            //string[] files = Directory.GetFiles("D:\\","*.xml",SearchOption.AllDirectories);//查看文件名称 后面的参数是要查询子目录的
            //foreach (string file in files)
            //{
            //    Console.WriteLine(file);
            //}

            //Directory.Move("D:\\nengju.mei", "C:\\nengju.mei");//移动
            //Directory.Exists("");
            //Directory.Delete("");

            //DirectoryInfo directoryInfo = new DirectoryInfo(@"D:\\nengju.mei");

            string[] dic = Directory.GetDirectories(@"D:\个人学习\test-study");
            foreach (string d in dic)
            {
                Console.WriteLine(d);
            }
            Console.ReadKey();
        }

        public static void MoveDirectory(string sourceDir, string destinationDir)
        {
            // 检查源文件夹是否存在
            if (!Directory.Exists(sourceDir))
            {
                Console.WriteLine("源文件夹不存在。");
                return;
            }

            // 如果目标文件夹不存在，则创建它
            if (!Directory.Exists(destinationDir))
            {
                Directory.CreateDirectory(destinationDir);
            }

            // 获取源文件夹中的所有文件，并将它们移动到目标文件夹
            foreach (var filePath in Directory.GetFiles(sourceDir))
            {
                string fileName = Path.GetFileName(filePath);
                string destFilePath = Path.Combine(destinationDir, fileName);
                File.Move(filePath, destFilePath);
            }

            // 获取源文件夹中的所有子文件夹
            foreach (var dirPath in Directory.GetDirectories(sourceDir))
            {
                string dirName = Path.GetFileName(dirPath);
                string destDirPath = Path.Combine(destinationDir, dirName);

                // 递归移动每个子文件夹
                MoveDirectory(dirPath, destDirPath);
            }

            // 删除源文件夹
            Directory.Delete(sourceDir, true);
        }
    }
}
